The present invention generally relates to computers. More particularly, this invention relates to methods and systems for monitoring power consumption of computer components, such as a central processing unit (CPU) of a desktop computer.
Central processing units (CPUs) have evolved over the last decades from relatively simple RISC or x86 processors with a single execution unit to hyperscalar processing units featuring several instances of separate arithmetic logic units and floating point units, decoders and schedulers. In addition, almost all current midrange to high-end processors feature several layers of integrated cache memory comprised mostly of on-die SRAMs. Recent developments have further placed the memory controller onto the processor die. Within the last year, the microprocessor industry has also seen the emergence of multicore processors, that is, the combination of several complete processors into a single package for advanced parallel processing of multiple threads.
It is understood that such evolution of microprocessors incurs cost with regards to the number of transistors per processor. The latest Intel® “Kentsfield” quad core features no less than 582 million transistors. Moreover, clock speed of microprocessors has increased about 50× over the past decade. Increased transistor count along with increased clock speed translates into increased thermal dissipation as well. Therefore, a substantial amount of effort and research has gone into power and thermal management of CPUs. Some measures have involved software-based throttling on the level of the operation system, and others are embedded within the Basic Input/Output System (BIOS).
A prerequisite for successful power management is the understanding of where and under what circumstances most of the power is being consumed. This understanding, however, cannot be achieved without acquisition and analysis of power consumption-related data. On the system level, this can be done through power meters interposed between the wall outlet and the computer's power supply unit. However, this method does not take into account the different loads on the individual system components and can only generate a summary report. On the other hand, for targeted, specific monitoring of the power consumption of, for example, the CPU, this method is not suitable because all other system components, including the power supply's efficacy, mask the real power consumption of the CPU itself.
Currently, power monitoring is predominantly done on the system level through devices like Seasonic's Power Angel or Extech 380308 Power Analyzer. In mobile applications (e.g., notebooks, laptops, PDAs, etc.), power consumption is sometimes monitored using specific software to interface with current sensors. On the desktop level, so far, no easy way exists to monitor specifically the isolated power consumption of the CPU as a function of load.
In view of the above, it would be desirable if it were possible to monitor specifically the isolated power consumption of a desktop CPU (or like motherboard device) as a function of load. Exactly this kind of monitoring is pivotal for an optimal configuration of the computer hardware as well as the optimal load balancing between several computers for the purpose of the most energy-efficient operation of all computer systems. This is true especially in server and workstation environments. In addition, even for a single user, monitoring of the CPU power consumption may give some valuable information about background processes that are using an excess of power.